html对象转成字符串,4.对象转化为字符串

您所在的位置:网站首页 js 把对象转成字符串 html对象转成字符串,4.对象转化为字符串

html对象转成字符串,4.对象转化为字符串

#html对象转成字符串,4.对象转化为字符串| 来源: 网络整理| 查看: 265

4_对象转化为字符串 14:56

898cd7a17fae

思维导图.png

序列化,指将 JavaScript 值转化为 JSON 字符串的过程。

JSON.stringify() 能够将 JavaScript 值转换成 JSON 字符串。JSON.stringify() 生成的字符串可以用 JSON.parse() 再还原成 JavaScript 值。

1. 参数的含义

JSON.stringify(value[, replacer[, space]])

value:必选参数。被变换的 JavaScript 值,一般是对象或数组。

replacer:可以省略。有两种选择:函数或数组。

如果是函数,则每一组名称/值对都会调用此函数,该函数返回一个值,作为名称的值变换到结果字符串中,如果返回 undefined,则该成员被忽略。

如果是数组,则只有数组中存在名称才能够被转换,且转换后顺序与数组中的值保持一致。

space:可以省略。这是为了排版、方便阅读而存在的。可以在 JSON 字符串中添加空白或制表符等。

2. value 用法

示例1:stringify.html

898cd7a17fae

stringify.gif

示例1源码:

var obj = {

name: "Geoff Lui",

age:26

};

console.log(obj);

var jsonstr = JSON.stringify(obj);

console.log(jsonstr);

示例2:stringify02.html

如果有不符合JSON语法规则的值

898cd7a17fae

stringify02.gif

示例2源码:

var obj = {

name: "Geoff Lui",

age:26,

// 如果有不符合JSON语法规则的值

a:undefined,

f:function(){

alert(a);

}

};

console.log(obj);

var jsonstr = JSON.stringify(obj);

console.log(jsonstr); //因为a和f不符合JSON语法规则,所以结果中看不到这两个值

示例3:stringify03.html

如果数组里面包含函数呢?

898cd7a17fae

stringify03.gif

示例3源码:

var obj = {

name: "Geoff Lui",

age:26,

// 如果有不符合JSON语法规则的值

a:undefined,

f:function(){

alert(a);

},

// 如果数组中包含函数

b:[function(){alert("hello");}]

};

console.log(obj);

var jsonstr = JSON.stringify(obj);

console.log(jsonstr); //因为a和f不符合JSON语法规则,

所以结果中看不到这两个值;数组里的函数被转换成了null

3. replacer 的用法

1)示例stringify04-第2个参数为函数.html

转换成JSON字符串的同时,对数值进行处理

898cd7a17fae

stringify04-第二个参数为函数.gif

示例stringify04源码:

var obj = {

name: "Geoff Lui",

age:26,

};

console.log(obj);

var jsonstr = JSON.stringify(obj,fun);

function fun(name,value){

if( name == "age" ){

value = 14;

}

return value;

}

console.log(jsonstr);

2)示例stringify05.html

如果第2个参数为数组,只有数组中存在名称才能够被转换

898cd7a17fae

stringify05-第二个参数为数组.gif

示例stringify05源码:

var obj = {

a:1,

b:2,

c:3,

d:4

};

console.log(obj);

var jsonstr = JSON.stringify(obj,["a","b","c"]);

console.log(jsonstr);

3)stringify06-第2个参数为数组 顺序.html

转换后顺序与数组中的值保持一致。

898cd7a17fae

stringify06-第2个参数为数组 顺序.gif

示例stringify06源码:

var obj = {

a:1,

b:2,

c:3,

d:4

};

console.log(obj);

var jsonstr = JSON.stringify(obj,["c","b","a"]);

console.log(jsonstr);

4. space 的用法

常见用法是添加制表符,使代码更可读:"\t"

示例stringify07-space.html

898cd7a17fae

stringify07-space.gif

示例stringify07代码:

var obj = {

a:1,

b:2,

c:3,

d:4

};

console.log(obj);

// var jsonstr = JSON.stringify(obj,["c","b","a"]);

var jsonstr = JSON.stringify(obj,["c","b","a"],"\t");

console.log(jsonstr);



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3